'''
列表由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、
数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中，其中的元素之间可以没有任何关系
'''

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)

# 访问元素
print(bicycles[1])
print(bicycles[2].title())

# 最后一个元素
print(bicycles[-1])

# 倒数第二个(-2),倒数第三个(-3)，以此类推
print(bicycles[-2])

print('My first bicycles ws a' + bicycles[0] + '.')

# 姓名:将一些朋友的姓名存储在一个列表中，并将其命名为names。依次访问每个元素并打印
names = ['kimi1', 'kimi2', 'kimi3']
print(names[0])
print(names[1])
print(names[-1])

# 修改、添加元素
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)

motorcycles.append('bmw')
print(motorcycles)

# 插入元素
motorcycles.insert(0, "cf")
print(motorcycles)

# 删除元素,del方法
del motorcycles[-1]
print(motorcycles)

# 删除元素，pop(),返回删除的元素
popped_motorcycle = motorcycles.pop(0)
print(popped_motorcycle)

# 组织列表(排序)
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars)

# 长度
length = len(cars)
print(length)

# 操作列表
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
    print(magician)

pets = ['dog', 'cat', 'lion']
for pet in pets:
    print(pet)
    print('A dog would make a great pet')
print('Any of these animals would make a great pet!')

# range函数
for i in range(1, 5):
    print(i)

# 创建数字列表
numbers = list(range(1, 5))
print(numbers)

# 数字列表，简单统计计算
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(min(digits))
print(max(digits))
print(sum(digits))

# 列表解析
squares = [value ** 2 for value in range(1, 11)]
print(squares)

# 数到20：使用一个for循环打印数字1～20（含)
for i in range(1, 21):
    print(i)

# 创建一个列表，其中包含数字1～1000000
nums = list(range(1, 1000001))
print(min(nums))
print(max(nums))
print(sum(nums))

# 创建一个包含1～20的奇数的列表并打印
odd_number = list(range(1, 20, 2))
print(odd_number)

# 3的倍数：创建一个列表，其中包含3～30内能被3整除的数字
print(list(range(3, 30, 3)))

# 立方,创建一个列表，其中包含前10个整数（即1～10）的立方并打印
cube = [v ** 3 for v in range(1, 10)]
print(cube)

# 使用列表解析生成一个列表，其中包含前10个整数的立方
cube_1 = [v ** 3 for v in range(1, 10)]
print(cube_1)
